/*
* @Author: lenovo
* @Date:   2017-11-13 19:36:05
* @Last Modified by:   lenovo
* @Last Modified time: 2017-11-24 11:21:57
*/
require('./index.css');
require('../index/index.css');
var login = {
	// 输入账号密码，验证码先不做，假设验证码是111就通过。点击登录发送请求，如果存在此用户名以及对应的密码则登录成功
	//获取登陆按钮，
	// 存储表单里的数据，发送到后台
	// usern:document.querySelector('#user-name-input').value,
	// pwd: document.querySelector('#pwd-input').value, 
	// tcode: document.querySelector('#test-code-input').value,
	// data:{
	// 	usern:this.usern,
	// 	pwd: this.pwd, 
	// 	tcode: this.tcode
	// },
	usern :document.querySelector('#user-name-input'),
	pwd :document.querySelector('#pwd-input'),
	tcode :document.querySelector('#test-code-input'),
	// 所以错误提示消息
	tips:document.getElementsByClassName('tips'),
	getUserName:document.getElementsByClassName('user-name')[0],
	// 存储请求到的数据。
	data:null,
	getsLoginBtn: document.getElementById('btn-login'),
	cwidth:document.body.offsetWidth,
	// 放头像的地方
	getImgTag:document.getElementById("img"),
	// 存储当前用户信息
	userInfo:null,
	init: function (){
			// alert(document.getElementsByClassName('user-name')[0]);
			this.bindEvent();
	},
	// 为btn绑定事件
	bindEvent: function (){
		var _this = this;
		_this.getsLoginBtn.addEventListener('click', function(){
			_this.loginSubmit();
		});
	},
	// 登录事件
	loginSubmit: function() {
		
		//  向后台发送请求，如果信息存在则返回true，表示登录成功并跳转到此用户主页界面
		// alert('this.responseFn():   '+this.responseFn());
		// 后台对数据的响应，
		var _this = this;
		var xhr = new XMLHttpRequest();
		var userflag=false;
		var finalflag=false;
		var para=-1;
		xhr.onreadystatechange = function(){
			if(xhr.readyState==4){
				if(xhr.status>=200&&xhr.status<=300 || xhr.status==304){
					// 解析数据，是否存在用户输入的那个
					// 数据转换成[{…}, {…}, {…}, {…}]数组对象格式
					_this.data = eval(xhr.responseText);
					var arr=[];
					arr[0]=new Array(); //账号
					arr[1]=new Array(); //密码
					arr[2]=new Array(); //姓名
					arr[3]=new Array(); //头像地址
					// 解析数据
					for(var i=0;i<_this.data.length;i++){
						arr[0][i] = _this.data[i].number;
						arr[1][i] = _this.data[i].password;
						arr[2][i] = _this.data[i].name;
						arr[3][i] = _this.data[i].img;
					}
					// 判断是否存在这个用户
					console.log(arr[1]); //string
					arr[0].forEach(function(curr,index){
							if(parseInt(curr)==parseInt(_this.usern.value)){
								userflag=true;
								para=index;//存储用户是数据里的第几个，用来判断他的密码属性是否和账号匹配
								// alert("账号匹配结果：-----"+userflag);
							}
					});
					// alert('userflag:    '+userflag);
					
					// 如果账号存在，则判断密码
					if((para>=0&&para<_this.data.length) && (userflag==true)){
						
									// alert("arr[1][para]"+arr[1][para]);
									// alert("_this.pwd.value"+_this.pwd.value);
									// alert("arr[1][para]==_this.pwd.value:--"+ arr[1][para]==_this.pwd.value);
									if(arr[1][para]==_this.pwd.value){
										// alert('密码匹配结果'+arr[1][para]==_this.pwd.value);
										finalflag=true;
										//将当前用户的账号，密码，姓名，头像地址 存到数组中
										_this.userInfo=[arr[0][para],arr[1][para],arr[2][para],arr[3][para]];
										// alert("_this.userInfo[3]:-----"+_this.userInfo[3]);
										if(finalflag==true){

											if(_this.tcode.value=='1111'){
												_this.getUserName.innerName = _this.userInfo[2];
												_this.getImgTag.src = _this.userInfo[3];
												
												alert(_this.userInfo);
												//alert("登陆成功，即将跳转^_^");
												window.location.href = './index.html';
											}else{
												//说明验证码错误
												_this.tips[2].style.display="block";
											}
										}
									}else{
										// alert('密码匹配结果'+false);
										//说明这个密码和输入的账号不匹配，显示错误提示信息第二条
										_this.tips[1].style.display="block";
										finalflag=false;
									}
					}
					else if(userflag==false){
						//说明这个账号不存在，显示错误提示信息第一条
						_this.tips[0].style.display="block";
						finalflag=false;
					}
					
				}
			}
		}
		xhr.open("get","http://localhost:8088/data/loginInfo.json");
		xhr.send(null);
	},
	responseFn:function(){
		
	}
};
login.init();
